package com.bt.lms.ui.page.sys.vo;

import com.bt.lms.entity.Role;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 用户列表显示信息
 *
 * @author 徐大永
 */
public class UserListInfo {

    /**
     * 构造用户列表信息
     *
     * @param name        用户名
     * @param createdName 创建人
     * @param createdTime 创建时间
     * @param loginTime   最近登录时间
     */
    @Deprecated
    public UserListInfo(String name, String createdName, LocalDateTime createdTime, LocalDateTime loginTime) {

        this.name = name;
        this.createdName = createdName;
        this.createdTime = createdTime;
        this.loginTime = loginTime;
    }

    /**
     * 构造用户列表信息
     *
     * @param name        用户名
     * @param createdName 创建人
     * @param createdTime 创建时间
     */
    @Deprecated
    public UserListInfo(String name, String createdName, LocalDateTime createdTime) {
        this.name = name;
        this.createdName = createdName;
        this.createdTime = createdTime;
    }


    public UserListInfo() {
    }

    /**
     * id
     */
    private Long id;

    /**
     * 账号
     */
    private String accountNumber;

    /**
     * 姓名
     */
    private String name;

    /**
     * 创建人
     */
    private String createdName;

    /**
     * 创建时间
     */
    private LocalDateTime createdTime;

    /**
     * 最近一次登录时间
     */
    private LocalDateTime loginTime;

    /**
     * 状态
     * 1-启用 2-停用
     *
     * @reqRule 必填 单 限选项（启用、停用） 默认启用
     */
    private Integer status;

    /**
     * 操作
     * 在界面列表自定义状态时，初始化
     */
    private UserTableViewVo userTableViewVo;

    /**
     * 角色
     */
    private List<Role> roles;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAccountNumber() {
        return accountNumber;
    }

    public void setAccountNumber(String accountNumber) {
        this.accountNumber = accountNumber;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCreatedName() {
        return createdName;
    }

    public void setCreatedName(String createdName) {
        this.createdName = createdName;
    }

    public LocalDateTime getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(LocalDateTime createdTime) {
        this.createdTime = createdTime;
    }

    public LocalDateTime getLoginTime() {
        return loginTime;
    }

    public void setLoginTime(LocalDateTime loginTime) {
        this.loginTime = loginTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public UserTableViewVo getUserTableViewVo() {
        return userTableViewVo;
    }

    public void setUserTableViewVo(UserTableViewVo userTableViewVo) {
        this.userTableViewVo = userTableViewVo;
    }

    public List<Role> getRoles() {
        return roles;
    }

    public void setRoles(List<Role> roles) {
        this.roles = roles;
    }
}
